<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // Promise.race([]) 
        //     返回一个新的promise实例
        //     接受数组参数 , 数组中的值都必须是promise实例


        //  注意：
        //    1 谁先取得结果  就以谁的结果作为最终的结果  无论成败





        const p1 = new Promise((resolve, reject) => {
            setTimeout(() => {
                const num = parseInt(Math.random() * 100);
                if (num % 2 === 0) {
                    resolve(num + '第一次成功')
                }
                else {
                    reject(num + '第一次失败')
                }
            }, 10)
        })

        const p2 = new Promise((resolve, reject) => {
            setTimeout(() => {
                const num = parseInt(Math.random() * 100);
                if (num % 2 === 0) {
                    resolve(num + '第二次成功')
                }
                else {
                    reject(num + '第二次失败')
                }
            }, 100)
        })

        const p = Promise.race([p1, p2]);
        p
            .then(res => {
                console.log(res);
            })
            .catch(res => {
                console.log(res);
            })

    </script>

</body>

</html>